Logistic Regression & Imbalaced data (강재영)

-- Heart Disease Prediction --

https://www.kaggle.com/naveengowda16/logistic-regression-heart-disease-prediction?select=framingham_heart_disease.csv 데이터 사용

train

· male: 성별

· age: 나이

· education: 교육수준

· currentSmoker: 현재 흡연유무

· cigsPerDay: 하루 흡연량

· BPMeds: 혈압약 복용 여부

· prevalentStroke: 뇌졸중 이력

· prevalentHyp: 고혈압 이력

· diabetes: 당뇨병 여부

· totChol: 총 콜레스테롤 수치

· sysBP: 수축기 혈압

· diaBP: 이완기 혈압

· BMI: 체질량 지수

· heartRate: 심박수

· glucose: 포도당 지수

· TenyearCHD: 10년 내 관상동맥성 심장병 발병 여부

데이터 불균형 확인됨

- Confusion Maxrix (오차행렬): 예측값과 실제값을 비교하기 위한 표

image.png

- Accuracy(정확도)

: 올바르게 예측된 데이터의 수를 전체 데이터의 수로 나눈 값

Confusion Matrix에서 (TP+TN) / 전체에 해당

- Precision(정밀도)

: 모델이 Positive라고 예측한 것 중 실제값이 Positive인 비율

Confusion Matrix에서 TP / (TP+FP)에 해당

- Recall(재현율)

: 실제값이 Positive인 것 중 모델이 Positive라고 예측한 비율

Confusion Matrix에서 TP / (TP+FN)에 해당

- F1 Score

: 정밀도와 재현율의 조화 평균

(2 Precision Recall) / (Precision+Recall)

*데이터가 불균형할 시 사용됨

- ROC Curve(Receiver-Operating Characteristic curve)

: 민감도와 특이도의 관계가 보이는 양상을 2차원 평면상에 그려낸 것

image-2.png

- AUC(Area Under Curve)

: ROC Curve의 면적, AUC의 값이 1일 수록 좋은 모델이라 평가된다.

- 로지스틱 회귀의 주요 하이퍼 파라미터: C, penalty

· C: 규제 강도를 조절하는 alpha 값의 역수

(C값이 작을 수록 규제 강도가 큼)

· penalty: L1 규제와 L2 규제

(L1 규제 --> 0이 됨, L2 규제 --> 0에 가까워짐)

- GridSearchCV를 이용하여 최적화

C, max_iter 범위를 좁힌 후 다시 최적화

- FPR: False Positive Rate (ROC curve에서 x축에 표시되는 값)

- TPR: True Positive Rate (ROC curve에서 y축에 표시되는 값)

불균형 데이터 해결

- Undersampling: 데이터 분포가 높은 값을 낮은 값으로 맞춰줌

장점: 유의미한 데이터만 남길 수 있음

단점: 데이터 손실

종류:

· Random Under Sampling (무작위 샘플링)

· Condensed Nearest Neighbour (최근접인 클래스 분포 데이터를 삭제하면서 샘플링하는 방법)

· Edited Nearest Neighbours (소수 클래스 주변의 다중 클래스 값을 제거하는 방법)

· Neighbourhood Cleansing Rule (CNN과 ENN을 섞은 방법)

- Oversampling: 데이터 분포가 낮은 값을 높은 값으로 맞춰줌

장점: 데이터 손실 없음

단점: 오버피팅 가능성

종류:

· Random Under Sampling (무작위 샘플링)

· Adaptive Synthetic Sampling (분포가 작은 클래스 데이터와 그 데이터와 가장 가까운 무작위의 K개의 데이터 사이에 가상의 직선을 그려서 직선상에 존재하는 가상의 분포가 작은 클래스 데이터를 생성하는 것)

· SMOTE (ADASYN과 같은 방법론으로 데이터를 생성하지만 생성된 데이터가 분포가 적은 클래스에 포함되는 것이 아니라 분류 모형에 따라서 다르게 분류)

SMOTE Oversampling 적용

GridSearCV로 구했던 최적 파라미터 값 대입

- LightGBM 모델 적용

- LightGBM + SMOTE 모델 적용

한계: LightGBM은 작은 데이터에 대해 과적합하기 쉬움

오즈비는 1을 기준으로 떨어져있는 정도를 통해 종속변수에 미치는 영향의 방향을 파악 가능

- 최대가능도추정법: 주어진 표본에 대하여 가능도를 최대로 갖는 모수 𝜽 를 찾는 방법

가능도: 나타난 결과에 따라 여러 가능한 가설들을 평가할 수 있는 측도

최대가능도: 나타난 결과에 해당하는 가설마다 계산된 가능도 값 중 가장 큰 값

파라미터 𝜽에 대하여 파라미터 𝜽에 대하여 편미분하고, 그 값이 0이 되도록 하는 𝜽를 찾는 과정